home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
bcf.lzh
/
BCFMAN.TXT
< prev
next >
Wrap
Text File
|
1991-03-05
|
22KB
|
540 lines
*******************************************
* *
* BC-FORTRAN77 Version 1.3C *
* *
* Copyright © 1990 *
* *
* Andre Koestli *
* Martin-Luther-Strasse 63 *
* W-7000 Stuttgart 50 *
* Federal Republic of Germany *
* *
*******************************************
1. PREFACE
===========
About this text
---------------
The following text is a short introduction to the BC-FORTRAN77 Version C
development system, written by Andre Koestli. He holds the copyright of
this product, but does allow everybody to use it for noncommercial and
nonmilitary applications.
Florian Nold (email address MEHA@DFRRUF1.BITNET) translated the original
german documents into english and has provided a supplementary dictionary
explaining the error and warning messages (see appendix). Many thanx to
Mr. Ken McNorton for reading and correcting this text. The original
german introduction (file lies.txt) has also been included.
If you find any mistakes in this english translation please write them to
Florian Nold. Errors and suggestions to the BC-FORTRAN77 system itself
have to be send to the author A. Koestli himself, since Florian Nold has
NO connection whatsoever with him.
Preface by the author of BC-FORTRAN77
-------------------------------------
Version 'C' of BC-FORTRAN77, consisting of the following 7 described
files, was completely developed by Andre Koestli. I, Andre Koestli,
allow the general use of Version 'C' for noncommercial applications.
All rights remain entirely by me. I do not permit the sale of Version 'C'
under any circumstances, not even in connection with other products.
This text may not be changed and it has to be included with every copy
of Version 'C'. For commercial applications Version 'P' must be used
(see below).
It is STRICTLY forbidden to use BC-FORTRAN77 Version 'C' for any military
purpose or research.
March 1990, A. Koestli
BC-FORTRAN77 version 'C' is part of an extensive development system
called version 'P' (see below). The purpose of version 'C' is to make a
FORTRAN77 compiler available for programming courses. Another advantage
is that BC-FORTRAN77 is available for Amiga, Atari ST and MS-DOS
computers.
2. BC-FORTRAN77 version 'P'
============================
BC-FORTRAN77 version 'P' is a large development system, consisting of a
compiler, linker, editor, precompiler and a version managment system,
which are all embedded in a user friendly desktop shell. This shell only
compiles source, which has been changed since the last compiler run.
So even large programs, consisting of hundreds of subroutines, will be
processed in a few seconds. Version 'P' supports the use of a mathema-
tical coprocessor and special 68020 commands.
Version 'P' includes a comfortable debugger for interactively testing
programs. Supplementary libraries (e.g. plot output) are also included.
The price of version 'P' is 350 DM (incl. manual, 150 pages). To order
verison 'P' please write directly to A. Koestli. At the moment Version
'P' is only available for ATARI ST and Amiga, not for MS-DOS machines.
3. BC-FORTRAN77 Version C
==========================
BC-FORTRAN77 version 'C', which is described in the rest of this text,
includes the following files:
LIES.TXT original german version of this text, written by Andre
Koestli, the author of BC-FORTRAN77.
('lies' is the german word for 'read')
BCFMAN.TXT this text
BCFMAN.TEX TeX/LaTeX version of this text
BCF.TTP the compiler
BCL.TTP the linker
BCRTSY.B the runtime library
MATHLIB.B library (incl. FORTRAN77 standard functions)
Be sure to include ALL these files without any changes when copying
BC-FORTRAN77.
Using a command-line-interpreter or a shell (e.g. gulam) would be the
best way to work with BC-FORTRAN77. If you don't have any shell, you can
start BC-FORTRAN77 from the desktop. Filenames and options can be entered
in the dialogbox, which appears after double clicking the program icons.
4. The Installation
====================
The simplest way is to put all the files in the same directory. If you
prefer to store the binaries, sources, etc. in distinct directories, put
BCF.TTP and BCL.TTP in the directory, where the shell would search for
the bin-stuff.
BCRTSY.B and MATHLIB.B should be moved to the directory \BC of the actual
drive.
5. The Compiler BCF.TTP
========================
To invoke the compiler enter
BCF [-options] filename
or
double click on the BCF.TTP-icon on the desktop and enter options
and filename.
If the filename does not contain any point, the extension .F will be
appended. In any case the compiler will write its output to the file
filename.B.
Examples:
BCF -D TEST.F compile the file TEST.F to TEST.B using the
debug-option
BCF TEST SUB compile the file TEST.F to TEST.B and SUB.F to
SUB.B
BCF TEST.X compile the file TEST.X to TEST.B
Compiler Options
----------------
-D Debug, equivalent to -BVL.
-B deBugcode, uses -H implicit, generate code to check
arraybounds and substrings.
-H parcHeck, generate code to check parameter lists and stack
overflow.
-V Varlist, generate list of variables used by the debugger
-L Lineslist, generate list of linenumbers for the debugger
-U Uppercase, convert lowercase characters to uppercase
(except character constants and FORMAT statements).
If this option is not specified the compiler will treat
xy, xY, Xy, XY as 4 different variables !
-F Freeinput, allows Free-Form-Input-Format (not standard !)
-P Protocol, print compiler listing.
-W Wait for RETURN key when compiler has finished.
Language-Extensions and Restrictions
------------------------------------
BC-FORTRAN77 supports the fully FORTRAN77 standard defined by ANSI/ISO.
This standard is often ignored by some special features. I do not
recommend the use of these extensions, because they do not comply with
the ANSI standard and are therefore not precisely defined.
The most important specialities are:
INTEGER*1 8 bit INTEGER
INTEGER*2 16 bit INTEGER
INTEGER*4 same as INTEGER
LOGICAL*1 8 bit LOGICAL
LOGICAL*2 8 bit LOGICAL
LOGICAL*4 same as LOGICAL
IMPLICIT NONE turn off all implicit typedefs
COMMON /adr/ absolute addressed COMMON, adr may be a constant
or a simple variable
EQUIVALENCE() between CHARACTER and other types and mixing in
COMMON blocks
recursive subroutine calls
max. length of names: 8 chars. (standard 6 chars.)
The most important restrictions are:
32kB code per subroutine
32kB SAVE/DATA per subroutine or BLOCK DATA
700 subroutines per file
500 different COMMON blocks per file
There are also some restrictions, which would cause a compile-time-error,
if subroutines are unreasonable large. In most cases the 32kB limit would
be exceeded anyway.
6. The Linker BCL.TTP
======================
To invoke the linker just type
BCL [-options] filename ..
or click the BCL.TTP icon on the desktop and enter options and filenames.
If the filename doesn't contain any point, the extension .B will be
appended. The executable program will be stored using the name of the
first file a